<?php 

class CategoriaModel extends GenericModel{
	
	public function __construct(){
		$this->setTableName('tb_categoria');
		parent::__construct();
	}
	
	public function getCategoria(){
		return $this->query("SELECT * FROM {$this->tableName}");
	}
	
	public function setCategoria($id = FALSE){
		
		if($id){
			return $this->update($id);
		}else{
			//return $this->insert();
			return $this->novaCategoriaB();
		}
	}
	
	public function update($id){
		$objeto = array($id,'Teste 001', 'teste001', '0000-00-00', '0000-00-00',1);
		$sqlQuery = "insert into tb_categoria values(?, ?, ?, ?, ?, ?)";
		return $this->execute($sqlQuery, $objeto);
	}
	
	// Primeira forma de fazer insert
	public function novaCategoriaA(){
		$objeto = array($id,'Teste 001', 'teste001', '0000-00-00', '0000-00-00',1);
		$sqlQuery = "insert into tb_categoria values(?, ?, ?, ?, ?, ?)";
		return $this->execute($sqlQuery, $objeto);
	}
	
	// Primeira forma de fazer insert
	public function novaCategoriaB(){
		
		try {
			$teste = array(
							'nome' => 'asdfasd', 
							'descricao' => 'teste',
							'alterado'	=> '0000-00-00',
							'criado'	=> '0000-00-00',
							'status'	=> 1
			);
			
			$objeto = new stdClass();
			$objeto->nome 		= 'Teste 003';
			$objeto->descricao 	= 'teste003';
			$objeto->alterado 	= '0000-00-00';
			$objeto->criado 	= '0000-00-00';
			$objeto->status 	= 1;
			
			$this->transaction();
			$value = $this->insert($teste);
			$this->commit();
			
			return $value;
			
		}catch (PDOException $e){
			$this->rollback();
			echo 'Error: ' . $e;
		}
	}
}

?>